/**************************************************************************************************
**                                                                                               **
**  文件名称:  dal_input_drv.h                                                                   **
**  版权所有:  CopyRight @ Xiamen Yaxon NetWork CO.LTD. 2017                                     **
**  文件描述:  I/O口传感器输入状态检测                                                           **
**  ===========================================================================================  **
**  创建信息:  | 2017-7-27 | LEON | 创建本模块                                                   **
**  ===========================================================================================  **
**  修改信息:  单击此处添加....                                                                  **
**************************************************************************************************/
#ifndef DAL_INPUT_DRV_H
#define DAL_INPUT_DRV_H

#include "dal_input_reg.h"

/*************************************************************************************************/
/*                           定义IO口输入电平                                                    */
/*************************************************************************************************/
#define LEVEL_NEGATIVE       0                                                 /* 低电平状态 */
#define LEVEL_POSITIVE       1                                                 /* 高电平状态 */

/*************************************************************************************************/
/*                           定义触发模式                                                        */
/*************************************************************************************************/
typedef enum {
    INPUT_TRIG_NEGATIVE = 0x55,                                                /* 低电平触发 */
    INPUT_TRIG_POSITIVE = 0xAA,                                                /* 高电平触发 */
    INPUT_TRIG_BOTHSIDE = 0xFF
} INPUT_TRIG_E;

void DAL_INPUT_Init(void);
INT8U DAL_INPUT_ReadInstantStatus(INPUT_PORT_E port);
INT8U DAL_INPUT_ReadFilterStatus(INPUT_PORT_E port);
BOOLEAN DAL_INPUT_InstallTriggerProc(INPUT_PORT_E port, INPUT_TRIG_E trigmode, void (*informer)(INPUT_PORT_E, INPUT_TRIG_E));

#endif


